From 3badf48d2ed8bb332fd42855c3e1fedf97c6bee7 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 12 Dec 2011 10:24:53 +0100 Subject: [PATCH] a11y: Split out function I want to use that function when sending notifications. See next commits. --- gtk/a11y/gtktreeviewaccessible.c | 35 ++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/gtk/a11y/gtktreeviewaccessible.c b/gtk/a11y/gtktreeviewaccessible.c index ccdc8723fc..f959392ecd 100644 --- a/gtk/a11y/gtktreeviewaccessible.c +++ b/gtk/a11y/gtktreeviewaccessible.c @@ -2628,29 +2628,46 @@ cell_info_new (GtkTreeViewAccessible *accessible, g_hash_table_replace (accessible->cell_infos, cell_info, cell_info); } +static GtkCellAccessible * +peek_cell (GtkTreeViewAccessible *accessible, + GtkRBTree *tree, + GtkRBNode *node, + GtkTreeViewColumn *column) +{ + GtkTreeViewAccessibleCellInfo lookup, *cell_info; + + lookup.tree = tree; + lookup.node = node; + lookup.cell_col_ref = column; + + cell_info = g_hash_table_lookup (accessible->cell_infos, &lookup); + if (cell_info == NULL) + return NULL; + + return cell_info->cell; +} + static GtkCellAccessible * find_cell (GtkTreeViewAccessible *accessible, gint index) { - GtkTreeViewAccessibleCellInfo lookup, *cell_info; GtkTreeView *tree_view; + GtkRBTree *tree; + GtkRBNode *node; tree_view = GTK_TREE_VIEW (gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible))); if (!_gtk_rbtree_find_index (_gtk_tree_view_get_rbtree (tree_view), index / get_n_columns (tree_view) - 1, - &lookup.tree, - &lookup.node)) + &tree, + &node)) { g_assert_not_reached (); } - lookup.cell_col_ref = get_visible_column (tree_view, index % get_n_columns (tree_view)); - cell_info = g_hash_table_lookup (accessible->cell_infos, &lookup); - if (cell_info == NULL) - return NULL; - - return cell_info->cell; + return peek_cell (accessible, + tree, node, + get_visible_column (tree_view, index % get_n_columns (tree_view))); } static void -- 2.30.2